The present disclosure relates to map matching in the Internet of Vehicles, and more specifically, to a method and apparatus for dispatching a map matching task at a cluster server in the Internet of Vehicles.
With the advent of the Internet of Vehicles era, it will become a trend and finally come true to provide real-time location-based services (LBS). A prerequisite of providing location-based service is to accurately position real-time locations of vehicles on road segments. Due to drift of GPS signals, city road conditions complexity (e.g. complex overpasses) and other factors, map matching technology is desired, which is a critical technology for accurately positioning real-time locations of vehicles.
Uniformly providing map matching services for vehicles accessing to the Internet of Vehicles at a server end, can avoid map version discrepancies on different terminal devices, avoid map updating latency, and achieve collaborative matching of cluster vehicles. A high-performance, and load-balanced cluster server is required, in order to provide high-performance and low-latency map matching technology for vehicles.
Existing load balancing technology takes into account the performance of cluster servers, reported computation workloads, response speed, network workloads, geographical locations and other factors, but fails to solve conflicts between map matching requests.
After moving into the multi-core age, it is essential and significant to make full use of parallel computing capabilities of multiple cores so as to enhance the overall computing power of a cluster. In a map matching algorithm, a huge amount of short-distance path searches is one of the main factors consuming computation resources. It is necessary to make sufficient use of parallel computing capabilities of multiple cores so as to handle a large amount of short-distance path searches. When leveraging parallel computing capabilities of multiple cores to implement parallel short-distance path searches, conflicts occur between path search tasks at adjacent geographical locations, then lock queue arises, and finally the overall computing efficiency is degraded. A reason why conflicts occur between path search tasks at adjacent geographical locations is that candidate matching locations of sampling points are usually not original nodes in a road network in GIS data. Therefore, when searching for the shortest path between these candidate locations, temporary nodes have to be added to the road network model. In the meantime, when there is a need to use heuristic search to accelerate the search speed, a large quantity of temporary statuses need to be recorded in midway nodes. These frequent write operations cause a serious conflict problem in parallel computing.
Therefore, these is a need for a method for solving conflicts that occur when computing nodes of a cluster server handle map matching tasks.